/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.report.service.api;

import com.koron.report.bean.EventAnalysis;
import org.swan.bean.MessageBean;

import java.util.List;

public interface EventAnalysisService {
    /**
     * 统计集团/片区/水司下的事件总体情况
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryCountEvent(String code,Integer year);

    /**
     * 统计集团/部门/水司下的各个直接下属部门的事件情况列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryListEvent(String code,Integer year);

    /**
     * 统计各个水司的事件列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryListEventGroupCorp(String code,Integer year);

    /**
     * 统计集团/片区/水司下事故的总体情况
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryCountAccident(String code,Integer year);

    /**
     * 统计集团/部门/水司下的各个直接下属部门事故的情况列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryListAccident(String code,Integer year);

    /**
     * 统计各个水司的事故列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<?> queryListAccidentGroupCorp(String code,Integer year);

    /**
     * 统计集团/片区/水司下损工时的总体情况
     * @param code
     * @param year
     * @return
     */
    MessageBean<EventAnalysis> queryCountWorkTime(String code,String year);

    /**
     * 统计集团/部门/水司下的各个直接下属部门损工时的情况列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<List<EventAnalysis>> queryListWorkTime(String code,String year);

    /**
     * 统计各个水司的损工时列表
     * @param code
     * @param year
     * @return
     */
    MessageBean<List<EventAnalysis>> queryListWorkTimeGroupCorp(String code,String year);

}
